Windows Services for UNIX (SFU) or Subsystem for UNIX-based Applications (SUA) is a software package produced by Microsoft which provides a Unix subsystem and other parts of a full Unix environment on Windows NT and some of its immediate successor operating-systems. It was an extension and replacement of the minimal Microsoft POSIX subsystem from Windows NT.
SFU 1.0 and 2.0 (NT 4.0 and Windows 2000) used the MKS Toolkit; starting with SFU 3.0 (Windows XP; 1999), SFU used the Interix subsystem,[1] which was acquired by Microsoft in 1999 from US-based Softway Systems as part of an asset acquisition.[2] These are available free from Microsoft as a download. Windows Server 2003 R2 included SFU 3.5 (on Disk 2), and renamed it to Subsystem for UNIX-based Applications (SUA). In Windows Server 2008 and high-end versions of Windows Vista (Enterprise and Ultimate), a minimal SUA is included, but most of the utilities must again be downloaded from Microsoft's web site.[1]
Like the Microsoft POSIX subsystem in Windows NT that it replaces, Interix is not an emulation of a Unix kernel, but rather an implementation of a user-mode subsystem running directly on top of the Windows NT kernel.
Windows Services for Unix and Subsystem for Unix-based Applications provide header files and libraries that make it easier to recompile or port Unix applications for use on Windows; they do not make Unix binaries compatible with Windows binaries. It is best thought of as a distinct Unix-like platform.
Contents |
As of 2011[update] SFU contains:
SFU does not contain the following (but binaries are available for separate installation[3]):
Although SFU includes X Window System client libraries and applications, it does not contain a native X server. Administrators may configure any of the numerous third-party Windows X servers: fully featured free options include Cygwin/X, Xming and WeirdX.
Microsoft produced at least one beta release of the initial version of SFU before its final release in February 1999. This release, in English only, was supported on the Windows NT 4.0 SP3+ for x86 and Alpha platforms. This is the only known release to support Alpha. It included a demonstration version of the MKS Toolkit along with the following components:
This second installment of SFU was released April 2000 and was also for English; however, a Japanese-language release appeared just two months later in June 2000. Both ran on Windows NT 4.0 SP4+ and Windows 2000 on x86 platforms with Internet Explorer 4.01+. SFU 2.0 supported the following UNIX versions: Solaris 2.6+, HP-UX 10.2+, AIX 4.2+, Tru64 UNIX 5.0+, and Red Hat Linux 5.1+. It included the following components:
This version, released in May 2002, was the first release to include the Interix subsystem. Previously Microsoft had released Interix 2.2 (actually version 2.2.5) as a separate product around the same time frame as SFU 2.0. This SFU release included Interix release 3.0 (commonly called the "version" as reported by uname -r) with an internal Microsoft version of 7.0 that relates to internal build sequences. This Interix release contained significant technical extensions from the Interix 2.2 release such as a rooted file system and setuid functionality that were entirely based on the Softway Systems' Interix development codenamed "Firebrand". This was also released in English and followed by a later release in Japanese in October 2002, adding internationalization support. Both supported Windows NT 4.0 SP6a+, Windows 2000, and Windows XP Professional on x86 platforms with Internet Explorer 5.0+. The MKS Toolkit was no longer included. It included the following components:
This was the final release of SFU and the only release to be distributed free of charge. It was released January 2004 and included both English and Japanese versions for Windows 2000, Windows XP Professional, and Windows Server 2003 on x86 platforms with Internet Explorer 5.0+. It included Interix subsystem release 3.5 (build version 8.0) adding internationalization support (at least for the English version which did not have such until now) and POSIX threading. This release could only be installed to an NTFS file system (earlier versions supported FAT; this was for improved file-security requirements in Interix 3.5). The following UNIX versions were supported for NFS components: Solaris 7 and 8, Red Hat Linux 8.0, AIX 5L 5.2, and HP-UX 11i. It included the following components:
Microsoft does not intend to produce any further standalone versions of SFU, opting instead for the integrated SUA. As of July 13, 2011 v3.5 is still downloadable.[4] General support will continue until 2011; extended support until 2014.[5]
Windows Server 2003 R2 contains most SFU components, namely Microsoft Services for Network File System (NFS), Subsystem for UNIX-based Applications (SUA, aka Interix), and Identity Management for UNIX.[6] The July 2007 SFU 3.5 Security Update updated posix.exe and related files to match the SUA version.[7]
Unlike the SFU, the SUA version included in Windows Server 2003 R2 (and subsequent versions) has 64-bit support and allows linking of Win32 libraries to SUA applications.[8]
Windows Vista and Windows 7 Enterprise and Ultimate Editions also contain the Services for Unix components, now called the Subsystem for UNIX-based applications (SUA), and Client for NFS v3. Users must download the utilities and SDK separately. However, the server components from the SFU product line (namely Server for NFS, User Name Mapping, Server for NIS, Password Synchronization etc.) are not included[9]–these are included in Server editions of Windows (i.e. Windows Server 2008).
It is set to be deprecated after the release of Windows 8.[10]
Character translation must be used to accommodate filenames which include a colon (:) or other characters that do not comply with the naming conventions of Windows file-systems. Files with the same name but different cases are also not allowed by default, but can be enabled on installation with the side-effect of making the underlying partition's filesystem case-sensitive,[11][12] even for the Win32 subsystem. SUA (and SFU) supports a maximum files size of 2GB on 32-bit Windows. On 64-bit Windows, SUA supports up 4TB files.[13]
Network authentication for UNIX systems relies on the insecure NIS protocol (LDAP- and Kerberos-based authentication require a third-party solution). Microsoft has released several hotfixes for Windows Services for UNIX, and at least one Security Update (KB939778). The GNU Project utilities are several versions older than the latest ones. A separate port of the up-to-date Debian utilities was started in 2007, but apparently abandoned in 2009. [14] Several of the text processing utilities in SUA (e.g. awk) are not compatible with Unicode or wide character text files.
No version of Windows Services for UNIX is available for Windows XP Professional x64 Edition. [15]